home *** CD-ROM | disk | FTP | other *** search
/ Power Utilities / Power Utilities.iso / utility / pro11 / htscan.doc < prev    next >
Encoding:
Text File  |  1992-11-11  |  49.6 KB  |  1,439 lines

  1. ----------------------------------------------------------------------------
  2. HTScan                     Version 1.19                        Date 12-11-92
  3.                                              (C) 1990-1992 by Harry Thijssen
  4. ----------------------------------------------------------------------------
  5.  
  6.                               CONTENTS
  7.  
  8.     1.  INTRODUCTION....................................................  1
  9.         1.1.  Purpose of HTSCAN.........................................  1
  10.         1.2.  A quick start.............................................  1
  11.         1.3.  Benefits..................................................  2
  12.               1.3.1.  Flexibility.......................................  2
  13.               1.3.2.  Reliability.......................................  2
  14.               1.3.3.  Future use and speed..............................  2
  15.               1.3.4.  DOS 5.x and Upper-Memory-Blocks...................  2
  16.               1.3.5.  Security..........................................  2
  17.  
  18.     2.  USAGE...........................................................  3
  19.         2.1.  Syntax....................................................  3
  20.               2.1.1.  Drive and path....................................  3
  21.               2.1.2.  Options...........................................  3
  22.               2.1.3.  Advanced options..................................  4
  23.               2.1.4.  Explanation of some options.......................  5
  24.         2.2.  Exit Codes................................................  5
  25.         2.3.  Configuration file........................................  6
  26.         2.4.  Message file..............................................  6
  27.         2.5.  Residence of HTSCAN.EXE...................................  6
  28.         2.6.  Residence of the signature lists..........................  6
  29.  
  30.                                      - ii -
  31.  
  32.  
  33.     3.  SIGNATURE FILES.................................................  7
  34.         3.1.  VIRSCAN.DAT file..........................................  7
  35.               3.1.1.  Signature format..................................  7
  36.               3.1.2.  Recommended usage.................................  7
  37.               3.1.3.  Checksum..........................................  7
  38.               3.1.4.  Where to find VIRSCAN.DAT.........................  7
  39.         3.2.  ADDNSIGS.DAT file.........................................  8
  40.               3.2.1.  Signature format..................................  8
  41.               3.2.2.  Recommended usage.................................  8
  42.               3.2.3.  Where to find ADDNSIGS.DAT........................  8
  43.         3.3.  AVR modules...............................................  9
  44.               3.3.1.  AVR format........................................  9
  45.               3.3.2.  Recommended usage.................................  9
  46.               3.3.3.  Where to find AVR modules.........................  9
  47.         3.4.  COMPRSCA.DAT..............................................  9
  48.               3.4.1.  Signature format..................................  9
  49.               3.4.2.  Recommended usage.................................  9
  50.               3.4.3.  Where to find COMPRSCA.DAT........................  9
  51.         3.5. HTSCAN.DAT file............................................ 10
  52.               3.5.1. Signature format................................... 10
  53.               3.5.2. Recommended usage.................................. 10
  54.         3.6. HTTROJAN.DAT file.......................................... 10
  55.               3.6.1. Signature format................................... 10
  56.               3.6.2. Recommended usage.................................. 10
  57.               3.6.3. Where to find HTTROJAN.DAT......................... 10
  58.         3.7. VIRUSBUL.DAT file.......................................... 11
  59.               3.7.1. Signature format................................... 11
  60.               3.7.2. Recommended usage.................................. 11
  61.         3.8. MCAFEE.DAT file............................................ 11
  62.               3.8.1. Signature format................................... 11
  63.               3.8.2. Recommended usage.................................. 11
  64.  
  65.     4.  MESSAGES........................................................ 12
  66.         4.1.  Virus in memory........................................... 12
  67.         4.2.  Compressed files.......................................... 12
  68.         4.3.  Invalid date/time......................................... 13
  69.         4.4.  EXE/COM extension exchanged............................... 13
  70.         4.5.  Unusual values in boot-sector............................. 13
  71.  
  72.                                     - iii -                                 
  73.  
  74.  
  75.     5.  TIPS............................................................ 14
  76.         5.1.  Running HTSCAN............................................ 14
  77.         5.2.  Routine scanning and /A................................... 14
  78.         5.3.  Scanning when probably infected........................... 14
  79.         5.4.  Compressed files and scanning from a .BAT file............ 14
  80.         5.5.  Backups................................................... 14
  81.  
  82.     6.  WHAT TO DO IF YOU FIND A VIRUS?................................. 15
  83.         6.1.  Recommended approach...................................... 15
  84.         6.2.  If you don't have a backup and it is a known virus........ 15
  85.         6.3.  If you don't have a backup and it is an unknown virus..... 16
  86.  
  87.     7.  HOW TO PREVENT A VIRUS INFECTION?............................... 17
  88.  
  89.     8.  LICENSES........................................................ 17
  90.  
  91.     9.  DISCLAIMER...................................................... 17
  92.  
  93.    10.  MISCELLANEOUS INFORMATION....................................... 18
  94.         10.1.  Requirements............................................. 18
  95.         10.2.  Copyrights and trademarks................................ 18
  96.         10.3.  New versions............................................. 18
  97.         10.4.  Questions, suggestions or problems....................... 18
  98.         10.5.  Translations............................................. 19
  99.         10.6.  Thanks................................................... 19
  100.  
  101.  
  102.    APPENDICES
  103.  
  104.     I.   APPENDIX A. Signature file formats............................. 20
  105.          A.1.  VIRSCAN format........................................... 20
  106.          A.2.  HTSCAN format............................................ 21
  107.          A.3.  VIRUSBUL format.......................................... 24
  108.          A.4.  MCAFEE format............................................ 25
  109.          A.5.  Switches in the signature files.......................... 25
  110.     II.  APPENDIX B. Examples of HTSCAN style signatures................ 26
  111.     III. APPENDIX C. Examples of invoking HTSCAN........................ 27
  112.     IV.  APPENDIX D. Addresses for experienced help..................... 28
  113.          D.1.  If you have access to a modem............................ 28
  114.          D.2.  If you don't have access to a modem...................... 28
  115.     V.   APPENDIX E. Example batch file................................. 29
  116.  
  117.                                      - 1 -
  118.  
  119.  
  120. 1.  INTRODUCTION
  121.  
  122. 1.1.  Purpose of HTSCAN
  123.  
  124.   HTSCAN is a user programmable virus-scanner. It is designed to
  125.   detect and identify known viruses within files, boot-sectors,
  126.   main-boot-record(s) (partition-tables) and memory. You can use HTSCAN for 
  127.   scanning all your floppy-disks, hard-disks and network-drives.
  128.  
  129.  
  130. 1.2.  A quick start
  131.  
  132.   First of all, the master rules when dealing with viruses:
  133.  
  134.   - Cold-boot the machine to be scanned from a clean write-protected
  135.     floppy-disk. Control-Alt-Del is not enough!
  136.  
  137.   - Run HTSCAN from a write-protected floppy-disk after cold-booting
  138.     your PC, before starting any other program!
  139.  
  140.  
  141.   For a quick start, place HTSCAN.EXE, HTSCAN.OVR, HTSCAN.LNG, *.AVR, 
  142.   VIRSCAN.DAT and/or HTSCAN.DAT and/or VIRUSBUL.DAT on a clean system-
  143.   diskette. Make the floppy-disk write-protected. (5,25 place a tab over
  144.   the notch on the right side, 3.5 inch open the little hole by sliding away 
  145.   the tab) Now you can boot the  PC you want to scan from this floppy-disk and 
  146.   start HTSCAN with: 
  147.  
  148.       HTSCAN A:\
  149.  
  150.     if the floppy with HTSCAN is in drive A: or:
  151.  
  152.       HTSCAN B:\
  153.  
  154.     if the floppy with HTSCAN is in drive B:.
  155.  
  156.   If HTSCAN doesn't report any infections, you may scan your disk(s)
  157.   with:
  158.  
  159.     HTSCAN C:\
  160.  
  161.   or
  162.  
  163.     HTSCAN C:\ D:\
  164.  
  165.   etc.
  166.  
  167.                                      - 2 -
  168.  
  169.  
  170. 1.3.  Benefits
  171.  
  172. 1.3.1.  Flexibility
  173.  
  174.   HTSCAN is a flexible programmable virus-scanner. It uses the text files
  175.   VIRSCAN.DAT, HTSCAN.DAT, HTTROJAN.DAT, VIRUSBUL.DAT and MCAFEE.DAT as
  176.   signature lists. If a new virus is detected, all you have to do is adding
  177.   its signature to one of the signature lists. Several types of wildcards
  178.   in the scan-strings of the signatures are supported.
  179.  
  180.  
  181. 1.3.2.  Reliability
  182.  
  183.   Reliability was, and still is, a major goal for HTSCAN. For this reason
  184.   HTSCAN scans the whole file starting with the first byte, ending with the
  185.   last. No trick is used to reduce the number of bytes to scan.
  186.  
  187.  
  188. 1.3.3.  Future use and speed
  189.  
  190.   HTSCAN is designed to scan for a large amount of virus signatures in the
  191.   future. The only limit is the amount of free memory and will be reached
  192.   with about 4000 virus-signatures. Because of its design, HTSCAN will
  193.   not slow down significantly when scanning for such large number of
  194.   viruses. In fact it doesn't matter if you scan an item, e.g. *.COM, for 1
  195.   or 100 viruses.
  196.  
  197.  
  198. 1.3.4.  DOS 5.x and Upper-Memory-Blocks
  199.  
  200.   Since DOS 5.x has been released, the Upper-Memory-Blocks and the
  201.   High-dos-Memory-Area can be addressed with standard software. One of the
  202.   negative side-effects is that a resident virus now may become resident
  203.   within these memory parts. Of course HTScan fully supports the scanning
  204.   of these areas.
  205.  
  206.  
  207. 1.3.5.  Security
  208.  
  209.   HTSCAN will do a self-test with every startup to be sure HTSCAN is not
  210.   altered. If it is altered, it will give a message and aborts.
  211.   Although this is a benefit, realize that you can't scan your system with
  212.   HTSCAN to know which virus causes the trouble after HTSCAN is got
  213.   infected. So be sure to have at least a copy on a write-protected
  214.   floppy-disk.
  215.  
  216.                                      - 3 -
  217.  
  218.  
  219. 2.  USAGE
  220.  
  221. 2.1.  Syntax
  222.  
  223.   The call is:
  224.  
  225.     HTSCAN [@]<path>...  [option]...
  226.   or
  227.     HTSCAN [&]<drive>[..<drive>]  [option]...
  228.  
  229.  
  230. 2.1.1.  Drive and path
  231.  
  232.     Path:
  233.           disk
  234.             or
  235.           disk and path
  236.             or
  237.           disk, path and filename
  238.             or
  239.           @filename
  240.  
  241.       When the filename is preceded with a "@", it is a listfile with the
  242.       names of files, directories or drives to scan.
  243.       When the drive name is preceded with a "&", this means scan all
  244.       drives starting with the named drive and, when specified, ending with
  245.       the drive specified after the "..". When no ending drive is specified, 
  246.       HTSCAN will scan all drives starting with the specified one.
  247.       (On some networks "&" will do nothing.)
  248.       See appendix C for examples.
  249.  
  250.  
  251. 2.1.2.  Options
  252.  
  253.      /A              ; Scan all files for all file-viruses
  254.      /B-             ; Don't beep when an infection is found
  255.      /B+             ; Beep when an infection is found (default)
  256.      /C[=]<cfg-file> ; Use the specified configuration file
  257.      /D              ; Delete/rename infected files
  258.                      ; (HTSCAN will prompt before deleting/renaming)
  259.      /I              ; License info
  260.      /R              ; Rename infected files
  261.                      ; (HTSCAN will prompt you before renaming)
  262.      /M              ; Scan all memory for all viruses
  263.      /M-             ; Don't scan memory for viruses
  264.      /M+             ; Scan all memory for all viruses (same as /M)
  265.      /N              ; Do not include sub-directories
  266.      /O[=]<log-file> ; Write logging to the specified file
  267.      /O+<log-file>   ; Append logging to the specified file
  268.      /P-             ; Don't prompt before scrolling the screen
  269.      /P+             ; Prompt before scrolling the screen
  270.                      ; (default when /O is not used)
  271.      /Q              ; Quiet mode, don't display filenames
  272.      /Q+             ; Semi quiet mode, display only directory names
  273.  
  274.                                      - 4 -
  275.  
  276.  
  277.      /S              ; Skip boot-record(s)
  278.      /U-             ; Don't scan upper memory blocks for viruses
  279.      /U+             ; Scan upper memory blocks for all resident viruses
  280.                      ; (default when DOS 5.x or QEMM is used)
  281.      /V[=]<sig. list>; Use the specified virus-signature list or directory
  282.      /W-             ; Don't warn when compressed/self-extracting files found
  283.      /X              ; Scan multiple floppies
  284.  
  285.  
  286. 2.1.3.  Advanced options
  287.  
  288.      Miscellaneous
  289.  
  290.      /$F             ; Display info on infected files. (Date/Time/Size)
  291.      /$M=<directory> ; Specifies where infected files should be moved to
  292.      /$U             ; Run unattended. 
  293.                      ; Don't prompt for renaming, deleting and moving files
  294.      /$USlow         ; Slow down upper-memory scan to avoid hardware errors
  295.      /$W+            ; Use new errorlevel when ending the program (default)
  296.      /$W-            ; Use old errorlevel when ending the program
  297.      /$?             ; For help about the advanced options
  298.  
  299.      Screen related
  300.  
  301.      /$T=<n>         ; Preserve the top n lines for a shell program
  302.      /$B=<n>         ; Preserve the bottom n lines for a shell program
  303.  
  304.      Network related
  305.  
  306.      /$NOE           ; Suppress open-error messages
  307.  
  308.      Research related
  309.  
  310.      /$A             ; Display all scanned files. Whether infected or not.
  311.                      ; (in log-file only)
  312.      /$G             ; Scan for all boot-record viruses in COM and EXE files.
  313.                      ; If /A is used also, boot-record all files are scanned
  314.                      ; for boot-record viruses.
  315.      /$O             ; Display the offset where the scan-string is found
  316.                      ; (in log-file only)
  317.      /$Z             ; Warn for compressed/sfx files on main screen
  318.  
  319.                                      - 5 -
  320.  
  321.  
  322. 2.1.4.  Explanation of some options
  323.  
  324.  /$USlow
  325.  
  326.   On some computers HTSCAN scans the upper-memory-blocks to fast for the
  327.   hardware. This may result in hardware-errors. With /$USLOW it is possible
  328.   to slow down the scanning of the upper-memory-blocks.
  329.  
  330.  
  331.  /$NOE
  332.  
  333.   A common problem on networks is the impossibility to open all files,
  334.   resulting in a large number of error messages. HTSCAN has the switch
  335.   /$NOE. (Which means -- No Open Error --)
  336.   /$NOE suppresses the error message generated by an attempt to open an
  337.   execute-only file, a busy file etc.
  338.  
  339.  
  340. 2.2.  Exit Codes
  341.  
  342.   Default or when /$W+ is used, HTSCAN will exit with the following
  343.   exit codes:
  344.  
  345.       0      : Normal termination, no viruses found.
  346.       1..49  : One or more warnings issued.
  347.      50..74  : Program interrupted by user.
  348.      75..99  : A program error occurred.
  349.     100..149 : Operator error.
  350.     150..174 : Error in signature-file.
  351.     175..199 : One or more trojans/jokes found.
  352.     200..255 : One or more viruses found.
  353.  
  354.    When /$W- is used, HTSCAN will exit with the following exit codes:
  355.  
  356.      0 : Normal termination, no viruses found
  357.      1 : One or more viruses found
  358.    > 1 : Abnormal termination (Error)
  359.  
  360.   Note: The default in this release is /$W+.
  361.         In earlier versions the default was /$W-.
  362.  
  363.                                      - 6 -
  364.  
  365.  
  366. 2.3.  Configuration file
  367.  
  368.   Using HTScan should be done frequently. Although the defaults switch-
  369.   settings are perfect for routine scanning, some people are always using
  370.   some command-line switches. For those, it is boring to enter these
  371.   switches over and over again. This is not necessary at all. It is
  372.   possible to place your own command-line switches in the file HTSCAN.CFG
  373.   in the current directory or in the same directory as HTSCAN.EXE. This
  374.   configuration file may contain all command-line options delimited by
  375.   spaces on the same line or you may place every option on a single line.
  376.   A switch used on the command-line will overrule the switch in the
  377.   configuration file. Have a look at HTSCAN.CFG in EXAMPLES.ZIP for an
  378.   example of HTSCAN.CFG.
  379.  
  380.  
  381. 2.4.  Message file
  382.  
  383.   In a company environment it is often useful if a scanner can produce 
  384.   a clear instruction in their native language. With HTSCAN it is possible 
  385.   to put such messages/instructions in the file HTSCAN.MSG. Different 
  386.   messages for different errorlevels are possible. Place HTSCAN.MSG in the 
  387.   current directory or the same directory as HTSCAN.EXE. The message 
  388.   corresponding to HTSCAN's errorlevel will be displayed when HTSCAN is 
  389.   ending. Have a look at HTSCAN.MSG in EXAMPLES.ZIP for an example of 
  390.   HTSCAN.MSG. 
  391.  
  392.  
  393. 2.5.  Residence of HTSCAN.EXE
  394.  
  395.   Like every other virus-fighter this program should be placed on a clean
  396.   write-protected floppy before using it. Boot from a clean write-protected
  397.   system-diskette and start HTSCAN. If you thinks it is awkward to use a
  398.   program from floppy-disk like this, I agree. Unfortunately this is the
  399.   only way to catch all viruses.
  400.  
  401.  
  402. 2.6.  Residence of the signature lists
  403.  
  404.   If /V is not used to give the virus-signature filename or the directory
  405.   where HTSCAN.DAT and/or VIRSCAN.DAT and/or VIRUSBUL.DAT can be found,
  406.   HTSCAN looks first on the current directory for a file named HTSCAN.DAT
  407.   and/or VIRSCAN.DAT and/or VIRUSBUL.DAT. If non is found, HTSCAN will look
  408.   for these files in the directory where HTSCAN.EXE resides. HTSCAN will
  409.   use all signature-files found in the same directory. E.g. if HTSCAN.DAT
  410.   and VIRSCAN.DAT both in the current directory, both files are used.
  411.  
  412.                                      - 7 -
  413.  
  414.  
  415. 3.  SIGNATURE FILES
  416.  
  417. 3.1.  VIRSCAN.DAT file
  418.  
  419. 3.1.1.  Signature format
  420.  
  421.   VIRSCAN.DAT uses by default the VIRSCAN format described in appendix A.1.
  422.  
  423.  
  424. 3.1.2.  Recommended usage
  425.  
  426.   I recommend to use the signature file VIRSCAN.DAT unmodified.
  427.   Collect your own signatures in the file HTSCAN.DAT.
  428.  
  429.  
  430. 3.1.3.  Checksum
  431.  
  432.   HTScan checks the checksum in VIRSCAN.DAT to detect unauthorized changes 
  433.   in VIRSCAN.DAT.
  434.  
  435.  
  436. 3.1.4.  Where to find VIRSCAN.DAT
  437.  
  438.     VIRSCAN.DAT contains a VERIFIED list of virus signatures. Several
  439.     Bulletin Boards over the world have a copy of this file available for
  440.     download or file-request under the name:
  441.  
  442.       VSIGyyxx.ZIP - latest VERIFIED version of VIRSCAN.DAT
  443.  
  444.     where yy is the year and xx a sequence number.
  445.  
  446.     The MASTER copy of this file is maintained and available on:
  447.  
  448.         Bamestra RBBS, The Netherlands  (FIDO 2:512/10.0)
  449.         phone: ++31 2998 3602 or ++31 2998 3603 (HST/CM)
  450.  
  451.     The signatures in VIRSCAN.DAT are collected by Jan R. Terpstra.
  452.     (SysOp Bamestra BBS)
  453.  
  454.     See also 10.3
  455.  
  456.                                     - 8 -
  457.  
  458.  
  459. 3.2.  ADDNSIGS.DAT file
  460.  
  461. 3.2.1.  Signature format
  462.  
  463.   ADDNSIGS.DAT uses by default the VIRSCAN format described in appendix A.1.
  464.  
  465.  
  466. 3.2.2.  Recommended usage
  467.  
  468.   To use ADDNSIGS.DAT, you have to place it in the same directory as 
  469.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. ADDNSIGS.DAT is an addition to other 
  470.   virus-signature files. It is not possible to use HTSCAN with ADDNSIGS.DAT 
  471.   only. 
  472.  
  473.  
  474. 3.2.3.  Where to find ADDNSIGS.DAT
  475.  
  476.   ADDNSIGS.DAT contains emergency additions of VIRSCAN.DAT. It will be
  477.   distributed in case a rapidly spreading virus is discovered.
  478.   ADDNSIGS.DAT will be distributed in ASIGyynn.ZIP where yy is the year
  479.   and nn a sequence number. This file will have a rather short life, as all 
  480.   emergency updates will be moved over to VIRSCAN.DAT in the next release. 
  481.  
  482.     The MASTER copy of this file is maintained and, if existent,
  483.     available on:
  484.  
  485.         Bamestra RBBS, The Netherlands  (FIDO 2:512/10.0)
  486.         phone: ++31 2998 3602 or ++31 2998 3603 (HST/CM)
  487.  
  488.     The signatures in ADDNSIGS.DAT are collected by Jan R. Terpstra.
  489.     (SysOp Bamestra BBS)
  490.  
  491.     See also 10.3
  492.  
  493.                                     - 9 -
  494.  
  495. 3.3.  AVR modules
  496.   
  497. 3.3.1.  AVR format
  498.  
  499.    AVR's are algorithmic virus recognition modules. The format is 
  500.    not free for the public.
  501.  
  502.  
  503. 3.3.2.  Recommended usage
  504.  
  505.   To use an AVR module, you have to place it in the same directory as 
  506.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. An AVR is an addition to other 
  507.   virus-signature files. It is not possible to use HTSCAN with an AVR file 
  508.   only. 
  509.  
  510.  
  511. 3.3.3.  Where to find the AVR modules
  512.  
  513.   The AVR modules are available in VSIGyynn.ZIP. For further information
  514.   about VSIGyynn.ZIP see 3.1.4.
  515.  
  516.  
  517. 3.4.  COMPRSCA.DAT
  518.  
  519. 3.4.1.  Signature format
  520.  
  521.   COMPRSCA.DAT uses by default the HTSCAN format described in appendix A.2.
  522.  
  523.  
  524. 3.4.2.  Recommended usage
  525.  
  526.   COMPRSCA.DAT contains signatures to detect compressed files. It is not 
  527.   necessary for the virus-scanner, but could give you some info about the 
  528.   possible source of an infection. See also 4.2. for more information.
  529.   To use COMPRSCA.DAT, you have to place it in the same directory as 
  530.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. COMPRSCA.DAT is an addition to other 
  531.   virus-signature files. It is not possible to use HTSCAN with COMPRSCA.DAT 
  532.   only. 
  533.  
  534.  
  535. 3.4.3.  Where to find this COMPRSCA.DAT
  536.  
  537.   COMPRSCA.DAT will be available in VSIGyynn.ZIP. For further information 
  538.   about VSIGyynn.ZIP see 3.1.4.
  539.  
  540.                                      - 10 -
  541.  
  542.  
  543. 3.5.  HTSCAN.DAT file
  544.  
  545. 3.5.1.  Signature format
  546.  
  547.   HTSCAN.DAT uses by default the HTSCAN format described in appendix A.2.
  548.  
  549.  
  550. 3.5.2.  Recommended usage
  551.  
  552.   I recommend to collect your own signatures in the file HTSCAN.DAT in the 
  553.   same directory as VIRSCAN.DAT. In this way, a new update of VIRSCAN.DAT 
  554.   can be copied over the old version without loosing your own collection of 
  555.   signatures. 
  556.   
  557.  
  558. 3.6.  HTTROJAN.DAT file
  559.  
  560. 3.6.1.  Signature format
  561.  
  562.   HTTROJAN.DAT uses by default the HTSCAN format described in appendix A.2.
  563.  
  564.  
  565. 3.6.2.  Recommended usage
  566.  
  567.   HTTROJAN contains signatures of trojans and jokes. To use it, you have to
  568.   place HTTROJAN.DAT in the same directory as VIRSCAN.DAT/HTSCAN.DAT/
  569.   VIRUSBUL.DAT. HTTROJAN.DAT is an addition to other virus-signature files. 
  570.   It is not possible to use HTSCAN with HTTROJAN.DAT only. 
  571.  
  572.  
  573. 3.6.3.  Where to find this HTTROJAN.DAT  
  574.  
  575.   The latest update of HTTROJAN.DAT is always available within the
  576.   HTTROJxx.ZIP archive at INFOdesk the Hague. Magic-file name HTTROJAN.
  577.  
  578.                                      - 11 -
  579.  
  580.  
  581. 3.7.  VIRUSBUL.DAT file
  582.  
  583.   The fourth signature-file is VIRUSBUL.DAT. In this file you can type the
  584.   signatures published by Virus-Bulletin in a format almost like published
  585.   in Virus-Bulletin.
  586.  
  587.  
  588. 3.7.1.  Signature format
  589.  
  590.   VIRUSBUL.DAT uses by default the VIRUSBUL format described in appendix A.3.
  591.  
  592.  
  593. 3.7.2.  Recommended usage
  594.  
  595.   Collect the signatures published in Virus-Bulletin in the file
  596.   VIRUSBUL.DAT. If you use VIRUSBUL.DAT and VIRSCAN.DAT, place them in the
  597.   same directory.
  598.  
  599.  
  600.  
  601. 3.8.  MCAFEE.DAT format
  602.  
  603.   The fifth signature-file is MCAFEE.DAT. In this file you can type the
  604.   signatures published in a McAfee style.
  605.  
  606.  
  607. 3.8.1.  Signature format
  608.  
  609.   MCAFEE.DAT uses by default the MCAFEE format described in appendix A.4.
  610.  
  611.  
  612. 3.8.2.  Recommended usage
  613.  
  614.   Collect the signatures published in a McAfee style in the file
  615.   MCAFEE.DAT. To use it, you have to place MCAFEE.DAT in the same directory
  616.   as VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. MCAFEE.DAT is only an addition to 
  617.   other virus-signature files. It is not possible to use HTSCAN with 
  618.   MCAFEE.DAT only. 
  619.  
  620.                                      - 12 -
  621.  
  622.  
  623. 4.  MESSAGES
  624.  
  625. 4.1.  Virus in memory
  626.  
  627.   If a virus is found in memory, HTSCAN will stop, issues a warning and
  628.   ask if it should continue. Don't continue unless you are absolute sure
  629.   the virus will not harm your files and/or disks.
  630.  
  631.   If you are not sure, follow the instructions:
  632.  
  633.     - turn your computer off using the power-switch
  634.     - wait at least 30 seconds
  635.     - boot from a write-protected clean system-diskette
  636.     - start HTSCAN again from clean write-protected floppy-disk
  637.  
  638.  
  639. 4.2.  Compressed files.
  640.  
  641.   HTSCAN will give a warning when a compressed executable file was
  642.   found. The name(s) off the compressed file(s) and the compress
  643.   utility are listed in the message window on the screen and in the
  644.   log-file. In the final report, the message "x Compressed executable
  645.   file(s) found." will appear on the screen.
  646.   HTSCAN will NOT decompress these files.
  647.  
  648.   HTSCAN will look for executable files compressed with:
  649.  
  650.     DIET    version 1.00d
  651.     LZexe   version 0.91
  652.     PKLite  version 1.03/1.05
  653.  
  654.   and self-extracting files compressed with:
  655.  
  656.     ARJ    version 1.00/1.10/2.00/2.10
  657.     LHA    version 2.10
  658.     LHarc  version 1.13
  659.     PAK    version 2.50
  660.     PKZip  version 1.10
  661.  
  662.   If a compressed file is found, HTSCAN can't scan within the compressed
  663.   file. If it is a new file, decompress it and scan its contents with
  664.   HTSCAN. If the warning was triggered on an old file which didn't change
  665.   and there is no infection found in other files, don't bother about the
  666.   compressed files. When a compressed file was found, the errorlevel will 
  667.   be > 0. 
  668.  
  669.                                      - 13 -
  670.  
  671.  
  672. 4.3.  Invalid date/time.
  673.  
  674.   HTSCAN will give a warning when it finds a file with an invalid
  675.   date/time. (Year > 2000 will be treated as illegal!)
  676.   The name(s) off the file(s) are listed in the message window on the
  677.   screen and in the log-file. In the final report, the message "x
  678.   File(s) with an illegal date/time found." will appear on the screen.
  679.   Many viruses use an invalid date/time for self-recognition. When a
  680.   file with invalid date/time was found, the errorlevel will be > 0.
  681.  
  682.  
  683. 4.4.  EXE/COM extension exchanged.
  684.  
  685.   HTSCAN will give a warning when it finds an EXE file without EXE
  686.   header or a COM file with EXE header. The name(s) off the file(s)
  687.   are listed in the message window on the screen and in the log-file.
  688.   In the final report, the message "x File(s) with an exchanged COM/EXE
  689.   header found." will appear on the screen.  When a file with an
  690.   exchanged EXE/COM extension was found, the errorlevel will be > 0.
  691.  
  692.  
  693. 4.5.  Unusual values in boot-sector
  694.  
  695.   HTSCAN will give a warning when it finds unusual values in a boot-
  696.   sector. Unusual values are reported in the message window on the screen
  697.   and in the log-file. Some boot-sector viruses will trigger this
  698.   warning. Unfortunately, a floppy used by PcBackup will trigger this
  699.   warning too.
  700.  
  701.                                      - 14 -
  702.  
  703.  
  704. 5.  TIPS
  705.  
  706. 5.1.  Running HTSCAN
  707.  
  708.   It is necessary to cold-boot from a clean write-protected DOS system-
  709.   diskette before running HTSCAN from a clean write-protected floppy. If 
  710.   you don't have such a floppy-disk, create it NOW. Believe me, going to 
  711.   a shop buying a clean DOS version after you get an infection takes more 
  712.   time and money. You can create a DOS system-diskette with "FORMAT A: 
  713.   /S". See appendix E for an example of a batch file which can be placed 
  714.   on this floppy and used in routine scanning. 
  715.  
  716.  
  717. 5.2.  Routine scanning and /A
  718.  
  719.   Unfortunately many users think option /A is best for routine scanning.
  720.   This is NOT. Option /A is very time consuming and makes only sense if you
  721.   scan an unknown floppy or if you know you are struck by a virus. Don't 
  722.   use it in routine scanning. 
  723.  
  724.  
  725. 5.3.  Scanning when probably infected
  726.  
  727.   When your system is probably infected you should absolutely run HTSCAN
  728.   from a write-protected floppy after cold-booting using reset-button or 
  729.   the power switch. Again, Ctrl-Alt-Del is NOT enough. 
  730.   If you are one of those persons who insist in not creating a clean DOS
  731.   system-diskette, you could save your self lots of trouble using the /M 
  732.   option. However, this is NOT recommended, this option will increase the 
  733.   chance on false alarms and it is NOT save. 
  734.  
  735.  
  736. 5.4.  Compressed files and scanning from a .BAT file
  737.  
  738.   When HTSCAN is used from a .BAT file to scan a hard-disk in a routine
  739.   scan, check only on errorlevel 50 or greater. Don't bother on the
  740.   compressed files when no infections where found in other files.
  741.   When HTSCAN is used from a .BAT file to scan a incoming floppy,
  742.   check on errorlevel 1 or greater. If a compressed file is found,
  743.   decompress it and scan its contents with HTSCAN.
  744.  
  745.  
  746. 5.5.  Backups
  747.  
  748.   Backups are the most important precaution that can be taken against
  749.   computer viruses. Unduplicated data stored on a disk will be
  750.   irretrievable lost in the event of an attack by a destructive virus.
  751.   In english: BACKUP your data periodically!
  752.  
  753.                                     - 15 -
  754.  
  755.  
  756. 6.  WHAT TO DO IF YOU FIND A VIRUS?
  757.  
  758.   STAY COOL, it is my opinion that most harm is done by users who panicky
  759.   tried to disinfect there disk. If you find a virus by a virus-scanner the
  760.   virus has done his job or will wait until some event. In both cases
  761.   there is no reason to hurry. You have plenty of time.
  762.  
  763.   DON'T INSERT ANY OF YOUR BACKUP-DISKETTE'S IN YOUR PC BEFORE YOU ARE
  764.   100% SURE YOUR PC IS CLEAN!
  765.  
  766.  
  767. 6.1.  Recommended approach
  768.  
  769.   This will only work if you have a clean current backup.
  770.  
  771.   - Power down your system. Power up and boot from a clean 
  772.     write-protected system-diskette.
  773.   - Low-level-format your hard-disk
  774.     (check your hard-disk documentation on how to do that, 
  775.      or consult your supplier)
  776.   - Restore your system from the last known clean-backup
  777.  
  778.  
  779. 6.2.  If you don't have a backup and it is a known virus
  780.  
  781.   If the virus is in the boot-sector or a system-file:
  782.  
  783.     - get a virus killer for this virus and use it to clean-up your disk
  784.  
  785.     if you can't find a killer for this virus:
  786.  
  787.       - Power down your system. Power up and boot from a clean
  788.         write-protected system-diskette.
  789.       - Use the DOS command SYS to overwrite the infected spots.
  790.  
  791.   If the virus is in the main-boot-record (partition-table):
  792.  
  793.     - get a virus killer for this virus and use it to clean-up your disk
  794.  
  795.     if you can't find a killer for this virus:
  796.  
  797.       - Power down your system. Power up and boot from a clean
  798.         write-protected system-diskette.
  799.  
  800.       if you have DOS 5.0 or higher:
  801.         - you may try FDISK /MBR to fix the main-boot-record, although 
  802.           this will destroy your data in certain unusual circumstances
  803.       if you don't have DOS 5.0:
  804.         - Backup your system
  805.         - Low-level-format your hard-disk
  806.         - Restore your files.
  807.  
  808.                                     - 16 -
  809.  
  810.  
  811.   If the virus is in your software:
  812.  
  813.     - Power down your system. Power up and boot from a clean
  814.       write-protected system-diskette.
  815.     - Use "HTSCAN <path> /R" from a clean write-protected floppy-disk.
  816.       HTSCAN will ask you for every infected file if it should be renamed.
  817.     - Reinstall your software from the original floppy-disks.
  818.     - Delete the renamed infected files with "HTSCAN <path> /D /A".
  819.  
  820.     If you can't find the original software:
  821.  
  822.       - get a virus killer for this virus and use it to clean-up your
  823.         infected (renamed) files.
  824.  
  825.       Be extreme careful when cleaning your software with a virus 
  826.       killer. A lot of killers are unreliable and may totally destroy your 
  827.       program's. In the worst case, such a destroyed program could act 
  828.       like a trojan and destroy your data the next time it is executed. 
  829.  
  830.   Run "HTSCAN <path> /A" to be absolute sure your disk is clean.
  831.  
  832.   I strongly recommend that you get experienced help in dealing with
  833.   viruses. You can find addresses of experienced help in the appendices.
  834.   Get at least information on the virus. I only gave a description how to
  835.   get rid off the virus. Maybe the virus has corrupted your data. In such
  836.   a case you should use a clean backup to restore your data. 
  837.  
  838.  
  839. 6.3.  If you don't have a backup and it is an unknown virus
  840.  
  841.   If HTSCAN can't find a virus, first try the latest version available of
  842.   of the data-file you use. If nothing is reported and you still believe
  843.   you got a virus, because EXE/COM-files are growing and/or program's don't
  844.   work anymore etc., send a sample of a possibly infected file to a well-
  845.   known virus-researcher. Look at "Addresses for experienced help" for an
  846.   address.
  847.  
  848.                                     - 17 -
  849.  
  850.  
  851. 7.  HOW TO PREVENT A VIRUS INFECTION?
  852.  
  853.   In my opinion this is impossible. The only thing you can do is finding it
  854.   before it can cause great damage. For this purpose you could run an
  855.   alteration-searcher or checksummer with every system boot-up.
  856.  
  857.  
  858.  
  859.  
  860. 8.  LICENSES
  861.  
  862.   You are free to use, copy and distribute HTSCAN for NONcommercial
  863.   purposes if:
  864.  
  865.     1)  No fee is charged for such copying and distribution,
  866.     2)  It is distributed ONLY in its original, unmodified state.
  867.  
  868.   If you share HTSCAN with others, please share the original HTSCAN19.ZIP
  869.   file instead of sharing HTSCAN.EXE.
  870.  
  871.   If you find HTSCAN fast, easy, and convenient to use, a donation of
  872.   Fl. 2,50 or more would be appreciated.
  873.   Type "HTSCAN /I" for more information.
  874.  
  875.   Note, a donation for HTSCAN is not a donation for VIRSCAN.DAT.
  876.  
  877.   Site licenses and commercial licenses for HTSCAN are available.
  878.   Type "HTSCAN /I" for more information.
  879.  
  880.  
  881.  
  882.  
  883. 9.  DISCLAIMER
  884.  
  885.   In providing this software I disclaim all warranties, expressed or
  886.   implied, including but not limited to the warranties of merchantability,
  887.   fitness for a particular purpose, and noninfringement, and shall not be
  888.   liable for any direct, special, incidental or consequential damages
  889.   related to the performance or no-performance of this software and/or
  890.   documentation.
  891.  
  892.                                     - 18 -
  893.  
  894.  
  895. 10.  MISCELLANEOUS INFORMATION
  896.  
  897. 10.1.  Requirements
  898.  
  899.   Memory: at least 350 Kb of available RAM
  900.   Operating System: Dos version 3.0 or later
  901.  
  902.  
  903. 10.2.  Copyrights and trademarks
  904.  
  905.   ARJ              is a trademark of Robert K. Jung
  906.   DIET             is a trademark of Teddy Matsumoto
  907.   LHA and LHarc    are trademarks of Haruyasu Yoshizaki
  908.   McAfee           is a trademark of McAfee Associates
  909.   PAK              is a trademark of NoGate Consulting
  910.   PKZip and PKLite are trademarks of PKWare Inc.
  911.   QEMM             is a trademark of Quarterdeck
  912.   Virus-Bulletin   is a trademark of Virus Bulletin Ltd.
  913.  
  914.  
  915. 10.3.  New versions
  916.  
  917.   The newest versions of HTSCANxx.ZIP, HTTROJxx.ZIP, VSIGyyxx.ZIP
  918.   and ASIGyyxx.ZIP are available at:
  919.  
  920.     INFOdesk BBS The Hague, 2:512/2
  921.     +31-70-3898822, up to 14.4K HST
  922.  
  923.     File-Requests allowed from 8.00 am - 3.00 am (GMT+1). All file-requests
  924.     are allowed, including request of 4-D inbounds.
  925.  
  926.     Magic-file names:
  927.  
  928.       HTSCAN,
  929.       VSIG,
  930.       ASIG and
  931.       HTTROJAN
  932.  
  933.   New versions of HTSCANxx.ZIP, VSIGyyxx.ZIP and ASIGyyxx.ZIP are also
  934.   distributed through the VIRUSINF File-Echo. VIRUSINF is available all 
  935.   over the world.
  936.  
  937.  
  938. 10.4.  Questions, suggestions or problems
  939.  
  940.   If you have questions, suggestions or even problems, feel free to contact
  941.   me at one of the addresses below.
  942.  
  943.   Mail address:              Netmail address:
  944.  
  945.   Harry Thijssen             Harry Thijssen
  946.   P.O. Box 662               INFOdesk The Hague
  947.   6400 AR  Heerlen           FIDO 2:512/2.7  
  948.   The Netherlands            +31-70-3898822
  949.  
  950.   Please state the version of HTSCAN.EXE you are presently using.
  951.  
  952.                                     - 19 -
  953.  
  954.  
  955. 10.5.  Translations
  956.  
  957.   Several language packets are available. The original distribution file 
  958.   HTSCAN19.ZIP includes the english language packet. Other languages are 
  959.   available in a file like:
  960.     HTSC19<languages>.ZIP
  961.  
  962.   For dutch this file is:
  963.     HTSC19NL.ZIP
  964.   For german this file is:
  965.     HTSC19D.ZIP
  966.  
  967.   Both files are available at INFOdesk the Hague.
  968.  
  969.   HTScan will at least be available in English and Dutch. 
  970.   If you are willing to translate HTScan in a currently not supported 
  971.   language, please contact me at the address mentioned above.
  972.  
  973.  
  974. 10.6.  Thanks
  975.  
  976.   I wish to thank all the Beta-testers of HTScan for their time and help.
  977.   A special word of thanks goes to Erwin Lanting and Righard Zwienenberg 
  978.   ([RiZwi] of INFOdesk) for their comments on and help with HTSCAN.
  979.  
  980.                                     - 20 -
  981.  
  982.  
  983. I.  APPENDIX A. Signature formats
  984.  
  985. A.1.  VIRSCAN format
  986.  
  987.   Format of a virus signature entry
  988.  
  989.     <Virus name>
  990.     <Affected items>
  991.     <Virus signature>
  992.  
  993.     Lines starting with ';' are treated as comment.
  994.  
  995.  
  996.   Virus name
  997.  
  998.     Any name of 1 to 30 characters.
  999.  
  1000.  
  1001.   Affected items
  1002.  
  1003.     BOOT/COM/EXE/LOW/HIGH separated by blanks
  1004.  
  1005.     item           scanning
  1006.  
  1007.     LOW          : Memory beneath HTSCAN (beneath PSP)
  1008.     HIGH         : Conventional memory above HTSCAN
  1009.     BOOT         : Boot-Sectors and Main-Boot-Records (Partition-Table)
  1010.     COM          : *.COM files and, if at least 1 signature contains a
  1011.                          EXE item, .EXE files without EXE header
  1012.     EXE          : *.EXE files and, if at least 1 signature contains a
  1013.                          COM item, .COM files with EXE header
  1014.  
  1015.  
  1016.   Virus signature
  1017.  
  1018.     Any hex string. The hex string should have a min. length of 8
  1019.     and a max. length of 80 characters.
  1020.  
  1021.     ?  means: everything in this nibble (half byte) is ok.
  1022.  
  1023.     %x means: ignore up to x bytes of garbage.
  1024.               %x after %x is allowed.
  1025.               For example:
  1026.                 %F%F means ignore up to 30 bytes.
  1027.  
  1028.     *x means: ignore x bytes of garbage.
  1029.               x can be 1 to F.
  1030.               After a "*x" byte, the next byte may contain again "*x" but
  1031.               not "?".
  1032.  
  1033.     ** means: ignore up to 255 bytes of garbage.
  1034.  
  1035.     HTSCAN is only reliable if the virus-string is found in 1024 bytes or
  1036.     less.
  1037.  
  1038.                                      - 21 -
  1039.  
  1040.  
  1041. A.2.  HTSCAN format
  1042.  
  1043.     The syntax of HTSCAN is a superset of VIRSCAN.
  1044.  
  1045.  
  1046.   Format of a virus signature entry
  1047.  
  1048.     <Virus name>
  1049.     <flag line>
  1050.     <Affected items>
  1051.     <Virus signature>
  1052.  
  1053.     Lines starting with ';' are treated as comment by HTSCAN.
  1054.     Lines starting with ';%' are displayed on the screen.
  1055.  
  1056.  
  1057.   Virus name
  1058.  
  1059.     Any name of 1 to 80 characters.
  1060.  
  1061.  
  1062.   Flag line
  1063.  
  1064.     The flags are used to generate a better message when a matching signature 
  1065.     is found. The recognized flags are:
  1066.  
  1067.       C -> Compressed
  1068.       D -> Dropper
  1069.       F -> Found
  1070.       I -> Infected 
  1071.       J -> Joke
  1072.       O -> Overwritten
  1073.       S -> Self-Extracting
  1074.       T -> Trojanized
  1075.  
  1076.     The flag line is optional. If not used, a flag line with the flag I is 
  1077.     assumed.
  1078.  
  1079.                                      - 22 -
  1080.  
  1081.  
  1082.   Affected items
  1083.  
  1084.     PART/BOOT/SYS/COM/EXE/OVL/BAT/PIF/LOW/HIGH/UMB and OFFSET/ENTRY
  1085.     separated by blanks
  1086.  
  1087.     item           scanning
  1088.  
  1089.     LOW          : Memory beneath HTSCAN (beneath PSP)
  1090.     HIGH         : Conventional memory above HTSCAN
  1091.     UMB          : Upper memory blocks. Usually 640 Kb up to 1 Mb.
  1092.                    If available, HMA will be treated as UMB.
  1093.     MAIN         : Main-Boot-Records (Hard-Disk only)
  1094.     (alias PART)   (The Main-Boot-Record is also called Partition-Table)
  1095.     BOOT         : Boot-Sectors and Main-Boot-Records
  1096.     SYS          : *.SYS and *.BIN files
  1097.     COM          : *.COM files and, if at least 1 signature contains a
  1098.                          EXE item, .EXE files without EXE header
  1099.     EXE          : *.EXE files and, if at least 1 signature contains a
  1100.                          COM item, .COM files with EXE header
  1101.     OVL          : *.OV* files
  1102.     (alias OV*)
  1103.     BAT          : *.BAT files
  1104.     PIF          : *.PIF files
  1105.  
  1106.     The entry-point is the first byte that is not equal to either a 
  1107.     JUMP SHORT, JUMP LONG, CALL NEAR or CALL FAR.
  1108.  
  1109.     OFFSET       : The signature starts directly at the entry-point.
  1110.     ENTRY        : The signature starts in the range 128 before to 128 after
  1111.                    the entry-point.
  1112.  
  1113.                                      - 23 -
  1114.  
  1115.  
  1116.   Virus signature
  1117.  
  1118.     Any hex string. A space as separator is allowed. The hex string
  1119.     should have a min. length of 8 and a max. length of 100 characters.
  1120.  
  1121.     ?  means    : everything in this nibble (half byte) is ok.
  1122.  
  1123.     %x means    : ignore up to x bytes of garbage.
  1124.                   %x after %x is allowed.
  1125.                   For example:
  1126.                     %F%F means ignore up to 30 bytes.
  1127.  
  1128.     %(x)        : same as above. However x can be 1 to 254.
  1129.                   For example:
  1130.                     %(30) means ignore up to 30 bytes and is the same as %F%F
  1131.  
  1132.     *x means    : ignore x bytes of garbage.
  1133.                   x can be 1 to F.
  1134.                   After a "*x" byte, the next byte may contain again "*x"
  1135.                   but not "?".
  1136.  
  1137.     *(x)        : same as above. However x can be 1 to 254.
  1138.  
  1139.     ** means    : ignore up to 255 bytes of garbage.
  1140.  
  1141.     && means    : the file should contain the part before this wildcard AND 
  1142.                   the part behind this wildcard
  1143.  
  1144.     || means    : the file should contain the part before this wildcard OR
  1145.                   the part behind this wildcard
  1146.  
  1147.     nn-x means  : 1 of the values in the range nn up to nn + x should match 
  1148.                   this wildcard
  1149.  
  1150.     nn--xx means: 1 of the values in the range nn up to nn + xx should match 
  1151.                   this wildcard 
  1152.  
  1153.     nn/x means  : a match should been made with nn or nx
  1154.  
  1155.     nn//xx means: a match should been made with nn or xx
  1156.  
  1157.     $xxyy means : the compare value and xx should give yy
  1158.  
  1159.     Spaces within the virus-signatures are ignored.
  1160.  
  1161.     If you like, you can also specify a normal text as virus signature
  1162.     by putting the text between double quotation marks. When this
  1163.     syntax is used, wildcards are treated as normal text.
  1164.  
  1165.     HTSCAN is only 100% reliable if the virus-string is found in 
  1166.     1024 bytes or less.
  1167.  
  1168.     See appendix B for examples of HTSCAN style signatures.
  1169.  
  1170.                                      - 24 -
  1171.  
  1172.  
  1173. A.3.  VIRUSBUL format
  1174.  
  1175.   Format of a virus signature entry in VIRUSBUL style:
  1176.  
  1177.     <Virus name>
  1178.     <Affected items>
  1179.     <Virus signature>
  1180.  
  1181.     Lines starting with ';' are treated as comment by HTSCAN.
  1182.     Lines starting with ';%' are displayed on the screen.
  1183.  
  1184.  
  1185.   Virus name
  1186.  
  1187.     Any name of 1 to 80 characters.
  1188.  
  1189.  
  1190.   Affected items
  1191.  
  1192.     C/E/N/P/D/M/R/?
  1193.  
  1194.     ? Means CEDMR.
  1195.  
  1196.  
  1197.   Virus signature
  1198.  
  1199.     Any hex string. A space as separator is allowed. The hex string
  1200.     should have a min. length of 8 and a max. length of 100 characters.
  1201.     Wildcards are supported like in HTSCAN style.
  1202.  
  1203.  
  1204.   Look at the file VIRUSBUL.DAT in EXAMPLES.ZIP for examples of this
  1205.   format.
  1206.  
  1207.  
  1208.   Refer to Virus-Bulletin for further information and scan-strings.
  1209.  
  1210.                                     - 25 -
  1211.  
  1212.  
  1213. A.4.  MCAFEE format
  1214.  
  1215.   Format of a virus signature entry in MCAFEE style:
  1216.  
  1217.     "<Virus signature>"<Virus name>
  1218.  
  1219.     Lines starting with '#' are treated as comment by HTSCAN.
  1220.     Lines starting with '#%' are displayed on the screen.
  1221.  
  1222.  
  1223.   Virus signature
  1224.  
  1225.     Any hex string. A space as separator is allowed. The hex string
  1226.     should have a min. length of 8 and a max. length of 100 characters.
  1227.  
  1228.  
  1229.   Virus name
  1230.  
  1231.     Any name of 1 to 25 characters.
  1232.  
  1233.  
  1234.   HTSCAN will scan all memory, boot-sectors, .COM and .EXE files for all
  1235.   signatures in MCAFEE style.
  1236.  
  1237.   Look at the file MCAFEE.DAT in EXAMPLES.ZIP for examples of this
  1238.   format.
  1239.  
  1240.  
  1241.  
  1242. A.5.  Switches in the signature files
  1243.  
  1244.   You can switch the HTSCAN format on with ";$HS+".
  1245.  
  1246.   You can switch the Virus-Bulletin format on with ";$VB+" and off with
  1247.   ";$VB-" on a separate line in the signature-files.
  1248.  
  1249.   You can switch the McAfee format on with ";$MA+" and off with
  1250.   ";$MA-" on a separate line in the signature-files.
  1251.  
  1252.   You can switch to the entry-point + 512 bytes mode ";$IP+" and off with
  1253.   ";$IP-" on a separate line in the signature-files.
  1254.  
  1255.                                     - 26 -
  1256.  
  1257.  
  1258. II.  APPENDIX B. Examples of HTSCAN style signatures
  1259.  
  1260.   Examples:
  1261.  
  1262.     (All example viruses don't really exist)
  1263.  
  1264.     Fantasy-Virus (Boot version)
  1265.     PART BOOT
  1266.     FF00 FF00 FF00 FF00 FF00 FF00 FF00
  1267.     ;
  1268.     Hello World (OV* version)
  1269.     OVL
  1270.     "Hello World"
  1271.     ;
  1272.     Mean-Virus
  1273.     PART BOOT SYS COM EXE OVL
  1274.     1F0A 2F0B ??0C 4F0D ?F0E 6?0F 7F00
  1275.  
  1276.     The Mean-Virus would be recognized in the following string:
  1277.     1F0A2F0BFF0C4F0DFF0E6F0F7F00
  1278.  
  1279.  
  1280.     For the real hackers among you:
  1281.  
  1282.       Suicide-Virus
  1283.       LOW HIGH UMB BOOT SYS COM EXE OVL
  1284.       1F0A 2F0B 3?** 6F0F 7F*3 9F0? AF03 ???4 CF%2 05
  1285.  
  1286.       The Suicide-Virus signature scan's for 1F,0A,2F,0B followed by a byte
  1287.       of which the left nibble is 3 and the right nibble is unknown. Next
  1288.       there can be a string of garbage 0 to 255 bytes in length followed by
  1289.       6F,0F. After this there is a string of garbage 3 bytes long followed
  1290.       by 9F. Next there is a byte of which the left nibble is 0 and the
  1291.       right nibble unknown. There after comes AF,03 followed by three
  1292.       unknown nibbles. The right part of the last byte of the two bytes
  1293.       containing these three nibbles is 4. The trailing part of this virus
  1294.       is CF followed by 0, 1 or 2 garbage bytes ending with 05 The Suicide-
  1295.       Virus would be recognized in the following string:
  1296.  
  1297.       1F0A2F0B3F0C4F0D5F0E6F0F7F008F019F02AF03BF04CF05
  1298.  
  1299.       And again, for readability below each other, the scan-string and de
  1300.       string in the file.
  1301.  
  1302.       1F0A 2F0B 3?**           6F0F 7F*3      9F0? AF03 ???4 CF %2 05
  1303.       1F0A 2F0B 3F0C 4F0D 5F0E 6F0F 7F00 8F01 9F02 AF03 BF04 CF    05
  1304.  
  1305.  
  1306.                                     - 27 -
  1307.  
  1308.  
  1309. III.  APPENDIX C. Examples of invoking HTSCAN
  1310.  
  1311.   Examples:
  1312.  
  1313.    Scan drive C:
  1314.     HTSCAN  C:\
  1315.  
  1316.    Scan directory C:\USR without the subdirectories:
  1317.     HTSCAN  C:\USR  /N  /O=LOG-FILE.TXT  /V=C:\USR\VIRUS\HTSCAN.DAT  /S
  1318.  
  1319.    Scan the file C:\USR\VIRUS\HTSCAN.EXE and delete it if infected:
  1320.     HTSCAN  C:\USR\VIRUS\HTSCAN.EXE  /D
  1321.  
  1322.    Scan all *.OV? and *.BIN files for all file viruses:
  1323.     HTSCAN  *.OV? *.BIN /A
  1324.  
  1325.    Scan drive C:, D: and E:
  1326.      HTSCAN C:\ D:\ E:\   or
  1327.      HTSCAN &C..E         or if drive E: is the last drive
  1328.      HTSCAN &C
  1329.  
  1330.    Scan a list of files:
  1331.      HTSCAN  @TO-SCAN.TXT
  1332.  
  1333.     To-Scan.Txt is a listfile which could contain for example:
  1334.  
  1335.      C:\COMMAND.COM
  1336.      D:\UTIL\
  1337.      ..\
  1338.      \*.COM
  1339.  
  1340.    Scan all drives. Don't warn for compressed and/or self-extracting files.
  1341.    Use the signature lists in directory C:\SIGN and place the log-file in 
  1342.    directory D:\TEMP in HTSCAN.LOG:
  1343.      HTSCAN &A /V=C:\SIGN  /O=D:\TEMP\HTSCAN.LOG  /W-
  1344.  
  1345.                                     - 28 -
  1346.  
  1347.  
  1348. IV.  APPENDIX D. Addresses for experienced help
  1349.  
  1350.  
  1351. D.1.  If you have access to a modem
  1352.  
  1353.   A good solution for getting experienced help is a message in a
  1354.   dedicated fido-echomail-conference. E.g. VIRUS or VIRUS_INFO.
  1355.  
  1356.   Also you can ask the sysop of your home BBS. Most of the Sysop's
  1357.   know where to ask for experienced help.
  1358.  
  1359.   Below are the addresses of several well-known virus-busters.
  1360.  
  1361.     INFOdesk 
  1362.     The Hague (The Netherlands)
  1363.     FIDO 2:512/2
  1364.     +31-70-3898822
  1365.  
  1366.     Martin Roesler at
  1367.     Farmers Node
  1368.     Puchheim (Germany)
  1369.     FIDO 2:246/18.4
  1370.     +49-89-807408
  1371.  
  1372.     Paul Ferguson at
  1373.     SENTRY NET
  1374.     Centreville (USA)
  1375.     FIDO 1:109/229
  1376.     +1-703-815-3244
  1377.  
  1378.  
  1379. D.2.  If you don't have access to a modem
  1380.  
  1381.   You may send a letter to me or to:
  1382.  
  1383.     INFOdesk The Hague
  1384.     P.O. BOX 32395
  1385.     2503 AB  The Hague
  1386.     The Netherlands
  1387.  
  1388.   Don't forget to include a reply-paid envelope.
  1389.  
  1390.                                     - 29 -
  1391.  
  1392.  
  1393. V.  APPENDIX E. Example batch file
  1394.  
  1395.   The next batch file could be placed on a write-protected system-diskette
  1396.   together with HTSCAN. When this file is named AUTOEXEC.BAT, it will start
  1397.   a routine scan whenever your computer is booted from this floppy.
  1398.   The signature-files placed in the directory C:\SIGN are used. The log 
  1399.   file will be written to C:\TEMP\HTSCAN.LOG.
  1400.  
  1401.     echo off
  1402.     rem *****************************************************************
  1403.     rem *   Before running this batch file, the directories             *
  1404.     rem *   C:\SIGN and C:\TEMP should exist.                           *
  1405.     rem *                                                               *
  1406.     rem *   The signature files (VIRSCAN.DAT etc.) should been placed   *
  1407.     rem *   in C:\SIGN.                                                 *
  1408.     rem *****************************************************************
  1409.     HTSCAN &C /V=C:\SIGN /O=C:\TEMP\HTSCAN.LOG /W-
  1410.     if errorlevel == 200 goto virus
  1411.     if errorlevel == 175 goto trojan
  1412.     if errorlevel == 150 goto signerror
  1413.     if errorlevel == 100 goto opererror
  1414.     if errorlevel == 75  goto progerror
  1415.     :ok
  1416.     erase C:\TEMP\HTSCAN.LOG
  1417.     goto end
  1418.     :virus
  1419.     echo Virus found by HTScan. Reported in C:\TEMP\HTSCAN.LOG
  1420.     pause
  1421.     goto end
  1422.     :trojan
  1423.     echo Trojan found by HTScan. Reported in C:\TEMP\HTSCAN.LOG
  1424.     pause
  1425.     goto end
  1426.     :signerror
  1427.     echo HTScan detected some problem with a signature file.
  1428.     pause
  1429.     goto end
  1430.     :opererror
  1431.     echo HTScan detected an operator error. 
  1432.     pause
  1433.     goto end
  1434.     :progerror
  1435.     echo HTScan aborted. 
  1436.     pause
  1437.     goto end
  1438.     :end
  1439.